package com.ssy.lingxi.product.service;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.product.api.model.request.warehouse.*;
import com.ssy.lingxi.product.api.model.response.warehouse.WarehouseDetailsResponse;
import com.ssy.lingxi.product.api.model.response.warehouse.WarehouseResponse;
import com.ssy.lingxi.product.entity.warehouse.Warehouse;
import org.springframework.data.domain.Page;

import java.util.List;

/**
* 仓库管理
* @author wrc
* @date 2020/6/19
*/
public interface WarehouseService {
    /**
    * 查询仓库列表
    * @author wrc
    * @date 2020/6/19
    */
    Wrapper<PageData<WarehouseResponse>> warehouseList(WarehouseRequest request, UserLoginCacheDTO sysUser);

    /**
    * 查询仓库详情
    * @author wrc
    * @date 2020/8/5
    */
    Wrapper<WarehouseResponse> warehouseDetails(Long id);

    /**
    * 查询全部仓库
    * @author wrc
    * @date 2020/8/5
    */
    Wrapper<List<WarehouseResponse>> warehouseAll( UserLoginCacheDTO sysUser );

    /**
    * 添加/修改仓库
    * @author wrc
    * @date 2020/6/19
    */
    Wrapper<Void> warehouseAddOrUpdate(WarehouseAddOrUpdateRequest request, UserLoginCacheDTO sysUser);

    /**
    * 删除仓库
    * @author wrc
    * @date 2020/6/19
    */
    Wrapper<Void> warehouseDelete(Long id);

    /**
    * 停用启用
    * @author wrc
    * @date 2020/6/19
    */
    Wrapper<Void> warehouseStartOrStop(WarehouseStartRoStopRequest request);
}
